﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace OrmSmackdown.NHibernate
{
    public class Person : IPerson
    {
       public virtual int PersonId { get; set; }
        public virtual string FirstName { get; set; }
        public virtual string LastName { get; set; }
        public virtual string Email { get; set; }
        public virtual Role Role { get; set; }
        private IEnumerable<IAddress> _addresses = new List<IAddress>();
        public virtual IEnumerable<IAddress> AddressList
        {
            get { return _addresses; }
            set { _addresses = value; }
        }

     
    }


    public class Contact : Person
    {
        public virtual Company Company { get; set; }
    }

    public class User : Person
    {
        public virtual User Manager { get; set; }

        private IList<Portal> _portals = new List<Portal>();
        public virtual IList<Portal> Portals
        {
            get { return _portals; }
            set { _portals = value; }
        }
    }

}
